package com.yao.mall.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author jiahua.yao
 * @version 1.0
 * @description 获取订单详情VO
 * @date 2024/4/6 14:50
 */
@Data
public class ShoppingOrderVO {

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 总价
     */
    private BigDecimal totalPrice;

    /**
     * 收货人姓名
     */
    private String receiverName;

    /**
     * 收货人电话
     */
    private String receiverMobile;

    /**
     * 收货人地址
     */
    private String receiverAddress;

    /**
     * 订单状态，0-取消，1-待支付，2-待发货，3-待收货，4-待评论，5-交易完成
     */
    private Map<String,String> orderStatusMap;

    /**
     * 运费
     */
    private BigDecimal postage;

    /**
     * 支付方式，1-在线支付
     */
    private Integer payType;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payTime;

    /**
     * 交易完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private  LocalDateTime createTime;

    /**
     * 最后可支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payLastTime;

    /**
     * 支付时间倒计时（秒数）
     */
    private Long countDownTime;

    /**
     * 详情vo，每一条sku信息
     */
    private List<ShoppingOrderDetailVO> skusDetailList;


}
